{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "#设置参数\n",
    "n_input = factors.shape[1] # 输入特征的个数\n",
    "n_steps = 10 # LSTM模式长度为10天，每个训练样本包含过去10天的数据\n",
    "n_hidden = 100 # 隐含层神经元数为每层100个\n",
    "n_layers = 1 #隐藏层数为2\n",
    "n_classes = 3  # 三个类别，下跌，震荡，上涨\n",
    "batch_size = 100 #单个训练批次样本数为100\n",
    "n_train_batch = 500 #训练多少个batch，要么设置n_train_batch，要么设置n_epochs\n",
    "#n_epochs = 10 #epoch的个数：整个训练数据循环多少次\n",
    "learning_rate = 0.001 #学习率为0.001\n",
    "keep_prob = 0.5 #dropout 0.5\n",
    "display_step = 10 #每训练多少个batch显示一次结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "#构造dataset\n",
    "#读取数据\n",
    "data = pd.read_excel('AU.xlsx')\n",
    "factors = data.drop(['label'],axis = 1)\n",
    "#对label进行one-hot处理\n",
    "def to_categorical(y, num_classes=None):\n",
    "    y = np.array(y, dtype='int')\n",
    "    input_shape = y.shape\n",
    "    if input_shape and input_shape[-1] == 1 and len(input_shape) > 1:\n",
    "        input_shape = tuple(input_shape[:-1])\n",
    "    y = y.ravel()\n",
    "    if not num_classes:\n",
    "        num_classes = np.max(y) + 1\n",
    "    n = y.shape[0]\n",
    "    categorical = np.zeros((n, num_classes))\n",
    "    categorical[np.arange(n), y] = 1\n",
    "    output_shape = input_shape + (num_classes,)\n",
    "    categorical = np.reshape(categorical, output_shape)\n",
    "    return categorical\n",
    "\n",
    "label = to_categorical(list(data['label'].values))\n",
    "\n",
    "train_test_rate = 0.8 #训练与测试的比例\n",
    "input_data = []\n",
    "label_data = []\n",
    "for i in range(factors.shape[0]-n_steps-1):\n",
    "    input_data.append(factors[i:n_steps+i].values)  #每一个输入的维度为（10，20），包含过去10天信息\n",
    "    label_data.append(label[n_steps-1+i])  #每一个label的维度为（1,3）\n",
    "input_data = np.array(input_data)\n",
    "label_data = np.array(label_data)\n",
    "n_train = int(label_data.shape[0]*train_test_rate)\n",
    "train_x,test_x = input_data[:n_train],input_data[n_train:]\n",
    "train_y,test_y = label_data[:n_train],label_data[n_train:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#构造输入输出以及batch\n",
    "tf.reset_default_graph()\n",
    "x = tf.placeholder(tf.float32, [None, n_steps, n_input])\n",
    "y = tf.placeholder(tf.float32, [None, n_classes])\n",
    "#将数据集转为tf.data.Dataset的形式方便batch和迭代\n",
    "train_dataset = tf.data.Dataset.from_tensor_slices((train_x, train_y)).batch(batch_size)\n",
    "train_dataset = train_dataset.repeat() #为了跑完一个epoch之后仍能正常读取数据\n",
    "iterator = train_dataset.make_one_shot_iterator()\n",
    "batch_dataset = iterator.get_next()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "#创建神经网络结构：2层神经网络\n",
    "def lstm_cell(): #创建一层神经网络 激活函数默认用tanh\n",
    "    global n_hidden\n",
    "    return tf.nn.rnn_cell.LSTMCell(n_hidden, forget_bias=1.0, name='basic_lstm_cell')\n",
    "def drop_out_lstm(): #添加dropout层\n",
    "    global keep_prob\n",
    "    return tf.contrib.rnn.DropoutWrapper(lstm_cell(), output_keep_prob = keep_prob)\n",
    "\n",
    "multi_cells = tf.contrib.rnn.MultiRNNCell([drop_out_lstm() for i in range(n_layers)])\n",
    "\n",
    "#动态多层\n",
    "outputs,states  = tf.nn.dynamic_rnn(multi_cells,x,dtype=tf.float32)#(?, 10, 200)\n",
    "outputs = tf.transpose(outputs, [1, 0, 2])#(10, ?, 200) 10个时序，取最后一个时序outputs[-1]=(?,200)\n",
    "#输出层 全连接\n",
    "pred = tf.contrib.layers.fully_connected(outputs[-1],n_classes,activation_fn = None)\n",
    "\n",
    "# 定义损失函数和优化器\n",
    "cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=pred, labels=y))\n",
    "#optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)\n",
    "optimizer = tf.train.RMSPropOptimizer(learning_rate=learning_rate).minimize(cost) #论文用了RMSProp\n",
    "\n",
    "# 评价模型\n",
    "correct_pred = tf.equal(tf.argmax(pred,1), tf.argmax(y,1))\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))\n",
    "\n",
    "#保存模型\n",
    "#saver = tf.train.Saver() #max_to_keep默认为5，保存最近5个模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iter 0, Minibatch Loss= 1.152872, Training Accuracy= 0.22000\n",
      "Iter 10, Minibatch Loss= 1.129580, Training Accuracy= 0.29000\n",
      "Iter 20, Minibatch Loss= 1.162582, Training Accuracy= 0.38462\n",
      "Iter 30, Minibatch Loss= 1.084544, Training Accuracy= 0.38000\n",
      "Iter 40, Minibatch Loss= 1.031363, Training Accuracy= 0.48000\n",
      "Iter 50, Minibatch Loss= 0.968614, Training Accuracy= 0.46000\n",
      "Iter 60, Minibatch Loss= 1.001628, Training Accuracy= 0.47000\n",
      "Iter 70, Minibatch Loss= 0.942094, Training Accuracy= 0.53000\n",
      "Iter 80, Minibatch Loss= 1.049537, Training Accuracy= 0.50000\n",
      "Iter 90, Minibatch Loss= 0.951722, Training Accuracy= 0.53000\n",
      "Iter 100, Minibatch Loss= 1.009395, Training Accuracy= 0.52000\n",
      "Iter 110, Minibatch Loss= 0.959165, Training Accuracy= 0.44000\n",
      "Iter 120, Minibatch Loss= 1.041312, Training Accuracy= 0.38000\n",
      "Iter 130, Minibatch Loss= 0.836112, Training Accuracy= 0.48000\n",
      "Iter 140, Minibatch Loss= 0.887513, Training Accuracy= 0.46000\n",
      "Iter 150, Minibatch Loss= 0.909380, Training Accuracy= 0.46000\n",
      "Iter 160, Minibatch Loss= 0.863471, Training Accuracy= 0.52000\n",
      "Iter 170, Minibatch Loss= 0.785459, Training Accuracy= 0.57000\n",
      "Iter 180, Minibatch Loss= 0.868283, Training Accuracy= 0.49000\n",
      "Iter 190, Minibatch Loss= 0.848908, Training Accuracy= 0.55000\n",
      "Iter 200, Minibatch Loss= 0.965626, Training Accuracy= 0.41000\n",
      "Iter 210, Minibatch Loss= 0.844219, Training Accuracy= 0.53000\n",
      "Iter 220, Minibatch Loss= 0.836956, Training Accuracy= 0.52000\n",
      "Iter 230, Minibatch Loss= 1.001307, Training Accuracy= 0.53846\n",
      "Iter 240, Minibatch Loss= 0.952852, Training Accuracy= 0.48000\n",
      "Iter 250, Minibatch Loss= 0.926843, Training Accuracy= 0.55000\n",
      "Iter 260, Minibatch Loss= 0.942034, Training Accuracy= 0.52000\n",
      "Iter 270, Minibatch Loss= 0.968338, Training Accuracy= 0.50000\n",
      "Iter 280, Minibatch Loss= 0.943691, Training Accuracy= 0.55000\n",
      "Iter 290, Minibatch Loss= 0.998704, Training Accuracy= 0.48000\n",
      "Iter 300, Minibatch Loss= 0.957738, Training Accuracy= 0.51000\n",
      "Iter 310, Minibatch Loss= 0.966357, Training Accuracy= 0.54000\n",
      "Iter 320, Minibatch Loss= 0.914373, Training Accuracy= 0.54000\n",
      "Iter 330, Minibatch Loss= 1.027344, Training Accuracy= 0.50000\n",
      "Iter 340, Minibatch Loss= 0.830146, Training Accuracy= 0.54000\n",
      "Iter 350, Minibatch Loss= 0.893731, Training Accuracy= 0.51000\n",
      "Iter 360, Minibatch Loss= 0.903404, Training Accuracy= 0.52000\n",
      "Iter 370, Minibatch Loss= 0.848100, Training Accuracy= 0.52000\n",
      "Iter 380, Minibatch Loss= 0.735789, Training Accuracy= 0.59000\n",
      "Iter 390, Minibatch Loss= 0.855673, Training Accuracy= 0.52000\n",
      "Iter 400, Minibatch Loss= 0.816649, Training Accuracy= 0.54000\n",
      "Iter 410, Minibatch Loss= 0.942322, Training Accuracy= 0.56000\n",
      "Iter 420, Minibatch Loss= 0.816407, Training Accuracy= 0.57000\n",
      "Iter 430, Minibatch Loss= 0.810419, Training Accuracy= 0.57000\n",
      "Iter 440, Minibatch Loss= 0.922072, Training Accuracy= 0.53846\n",
      "Iter 450, Minibatch Loss= 0.960610, Training Accuracy= 0.49000\n",
      "Iter 460, Minibatch Loss= 0.864771, Training Accuracy= 0.58000\n",
      "Iter 470, Minibatch Loss= 0.906830, Training Accuracy= 0.47000\n",
      "Iter 480, Minibatch Loss= 0.967447, Training Accuracy= 0.49000\n",
      "Iter 490, Minibatch Loss= 0.913883, Training Accuracy= 0.55000\n",
      " Training Finished!\n",
      "Testing Accuracy: 0.46031746\n"
     ]
    }
   ],
   "source": [
    "with tf.Session() as sess:\n",
    "    sess.run(tf.global_variables_initializer())\n",
    "    list_acc,list_loss = [],[]\n",
    "    for i in range(n_train_batch):\n",
    "        batch_data = sess.run(batch_dataset)\n",
    "        batch_x, batch_y = batch_data[0],batch_data[1]\n",
    "        sess.run(optimizer, feed_dict={x: batch_data[0], y: batch_data[1]})\n",
    "        # 计算批次数据的准确率及损失\n",
    "        if i % display_step == 0:\n",
    "            acc = sess.run(accuracy, feed_dict={x: batch_data[0], y: batch_data[1]})\n",
    "            loss = sess.run(cost, feed_dict={x: batch_data[0], y: batch_data[1]})\n",
    "            list_acc.append(acc)\n",
    "            list_loss.append(loss)\n",
    "            print (\"Iter \" + str(i) + \", Minibatch Loss= \" + \\\n",
    "                      \"{:.6f}\".format(loss) + \", Training Accuracy= \" + \\\n",
    "                      \"{:.5f}\".format(acc))\n",
    "    print (\" Training Finished!\")\n",
    "    \n",
    "    print (\"Testing Accuracy:\", \\\n",
    "        sess.run(accuracy, feed_dict={x: test_x, y: test_y}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nFMiZ07/xiWQWqjIWEcmAZXFN28iRQK1aTkcjIhI4rq1NvvnG/desWgUcPqzSSBE7KWkTEXFDZCTQ\nv7/TUYiIBFbp0hys8qREMi4OyJoVaNbMf3GJZDZK2kREREQkTe3acY/KXW62mIuLA+rVAwoV8m9c\nIpmJkjYRERERSZOrRNKdLpI7dwJbtqg0UsRuStpEREREJE1lywI1ariXtMXF8VZJm4i9lLSJiIiI\nSLratWODkb17039eXBzXAGtrFBF7KWkTERERkXS1a8fb9Gbbjh4FVqzQLJuIPyhpExEREZF03XIL\nUK1a+knbnDnco01Jm4j9lLSJiIiISIbatQNWrgT270/98bg4oFQp4I47AhuXSGagpE1EREREMuQq\nkUxto+1z54BFi4DoaMCyAhuXSGagpE1EREREMlS+PJuMpFYiuXgxcPasSiNF/EVJm4iIiIi4pX17\nNhs5cODK++PigHz5gPr1HQlLJOwpaRMRERERt7hKJGfNunxfUhLw3XdA06ZA9uzOxCUS7pS0iYiI\niIhbbr8dqFTpyhLJn38G/vwTaN3aubhEwp2SNhERERFxW/v2wE8/AYcO8eu4OCAigjNtIuIfStpE\nRERExG3t2gHGALGx/DoujmvZ8ud3NCyRsKakTURERETcVrEiyyRnzgS2b+d/6hop4l9K2kRERETE\nbZbFEslly4BPP+V90dHOxiQS7pS0iYiIiIhH2rUDkpOBUaOAO+4AbrzR6YhEwpuSNhERERHxSJUq\n3Gw7KUmlkSKBoKRNRERERDxiWZf3bFPSJuJ/2ZwOQERERERCz8CBQM2aQNWqTkciEv400yYiIiIi\nHsuXTxtqiwSKkjYREREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYREREREZEg\npqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExERERER\nCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYRERER\nEZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExER\nERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYR\nEREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClp\nExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKY\nkjYREREREZEgpqRNREREREQkiClpExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQk\niClpExERERERCWJK2kRERERERIKYkjYREREREZEgpqRNREREREQkiClpExERERERCWJuJW2WZTWx\nLGu7ZVk7LcsalMZz6luWtd6yrF8ty/rR3jBFREREREQyp2wZPcGyrKwAPgLQEEAigFWWZc02xmxJ\n8ZwCAMYCaGKM2WdZ1vX+ClhERERERCQzcWem7U4AO40xu4wxFwBMB9Dqquc8DGCWMWYfABhj/rQ3\nTBERERERkczJnaStJID9Kb5O/Pe+lMoDKGhZ1lLLstZYlvWoXQGKiIiIiIhkZhmWR3pwnOoAGgC4\nDkCCZVkrjTG/pXySZVk9APQAgNKlS9t0ahERERERkfDlzkzbAQA3pvi61L/3pZQIYKEx5m9jzFEA\nywBUvfpAxpjxxpgaxpgaRYsW9TZmERERERGRTMOdpG0VgFstyyprWVZ2AA8BmH3Vc+IA/MeyrGyW\nZeUCUAvAVntDFRERERERyXwyTNqMMZcAPAlgIZiIzTDG/GpZVi/Lsnr9+5ytABYA2AjgFwATjDGb\n/Re2iIiIiDhqwQKgVi3g+HGnIxEJe5YxxpET16hRw6xevdqRc4uIiIiIDy5dAipVAn77DRg4EHj7\nbacjEglJlmWtMcbUyOh5bm2uLSIiIiLy/yZNYsJ2++3ABx8ABw86HZFIWFPSJiIiIiLuO38eePVV\nlkbOnctZt9dfdzoqkbCmpE1ERERE3Dd2LJCYCAwbBtx8M9CzJzBhArBzp9ORiT+dPg088QT/7SXg\nlLSJiIiIiHtOnwbeegto2BC4917eN3QokD078NJLzsYm/jVxIpPzTz5xOpJMSUmbiIiIiLhnxAjg\n2DEmbi7FiwP9+gHTpgHr1zsXm/iPMcDHH/P/Z8zg1xJQStpEREREJGN//smkrV07oMZVze6eew4o\nWBB44QVnYhP/+uEHYPt24J572IBm40anI8p0sjkdgIhISNi9G1i3DmjTxulIRESc8dZbbELyxhvX\n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\nAnz9NfDkk0CnTsCDD8oC3ERERETk05i0+YJ//wV+/BHo31+St5s3gePHgSNH7vxavTr1pC40FKhU\nCXj8cVv+C+QnypUD3n0XGD1ampNkNIJLRERERLbjGZsvmD5d1spq105+zppVWrCn1YY9Lu7OpO7Y\nMZa6kWsGDwbi44EePeyOhIiIiIhcwEYkdnM4gGLFJEFbs8buaIiIiIiIyCKuNiJxZZ02MtPatdLt\n8a237I6EiIiIiIh8EJM2u02ZAuTODbz0kt2REBERERGRD2LSZqfz54HFi6XjY9asdkdDREREREQ+\niEmbnWbOlIYQ7dvbHQkREREREfkoJm120VpKI6tUAcqUsTsaIiIiIiLyUUza7PL778CePUCHDnZH\nQkREREREPoxJm12mTAFy5ABatLA7EiIiIiIi8mFM2uxw9SrwzTdAy5aSuBEREREREaWBSZsd5s0D\nYmJYGklERERERBli0maHKVOAJ54AKlWyOxIiIiIiIvJxTNqstmMHEBkpo2xK2R0NERERERH5OCZt\nVps6VRbSbt3a7kiIiIiIiMgPMGmzUmwsMHs28PLLQO7cdkdDRERERER+gEmblRYtAi5fZgMSIiIi\nIiJyGZM2K02eDDzyCFC9ut2REBERERGRn2DSZpX9+4H164H27YEQPuxEREREROQaZg9WmTYNCA0F\n3njD7kiIiIiIiMiPMGmzQnw8MGMG8MILQP78dkdDRERERER+hEmbFZYvB86cYQMSIiIiIiJyG5M2\nK0yeDDz0EFCvnt2REBERERGRn2HSZrbjx4GffgLefBPIlMnuaIiIiIiIyM8waTPbjBmAwwG0a2d3\nJERERERE5IeYtJnJ4QCmTgVq1waKFbM7GiIiIiIi8kNM2sy0di1w9Cjw1lt2R0JERERERH6KSZuZ\nJk8GcucGXnrJ7kiIiIiIiMhPMWkzy7lzwJIlQNu2QNasdkdDRERERER+ikmbWWbNkkW127e3OxIi\nIiIiIvJjTNrMoDUwZQpQpQpQpozd0RARERERkR/jwmFm+P13YM8e6RxJRERERETkBY60mWHyZCBH\nDqB5c7sjISIiIiIiP8ekzWhXrgDffgu0bCmJGxERERERkReYtBlt/nwgJgbo0MHuSIiIiIiIKAAw\naTPalCnAE08AlSrZHQkREREREQUAJm1G2rEDiIyUUTal7I6GiIiIiIgCAJM2I02dKgtpt25tdyRE\nRERERBQgmLQZ5fJlWVC7aVMgd267oyEiIiIiogDBpM0on38unSN797Y7EiIiIiIiCiBM2oxw+jQw\nZgzQogVQoYLd0RARERERUQBh0maEYcOAmzeBIUPsjoSIiIiIiAIMkzZvHT4MfP010L49UKKE3dEQ\nEREREVGAYdLmrYEDgdBQ4KOP7I6EiIiIiIgCEJM2b+zcCcyeDbz9NlCggN3REBERERFRAGLS5o0P\nPgBy5gT69rU7EiIiIiIiClBM2jz1++/AsmXS4j9PHrujISIiIiKiAMWkzRNaA/37A/nyAT162B0N\nEREREREFsEx2B+CXVq0C1q8H/vtfIEcOu6MhIiIiIqIAxpE2dzkcwPvvA0WLAh072h0NEREREREF\nOI60uWvBAmD7diAiAsia1e5oiIiIiIgowHGkzR0JCcCHHwKlSwOtWtkdDRERERERBQGOtLljxgxg\n/35gyRJZUJuIiIiIiMhkHGlzVWwsMGgQUKUK0Lix3dEQEREREVGQ4Eibq8aPB06cAGbPBpSyOxoi\nIiIiIgoSHGlzxZUrwPDhQN26QI0adkdDRERERERBhEmbK0aNAi5elMSNiIiIiIjIQkzaMnLmDDB6\nNNCsGfDkk3ZHQ0REREREQYZJW0aGDwdu3ACGDLE7EiIiIiIiCkJM2tJz5AgwcSLw5pvAo4/aHQ0R\nEREREQUhJm3pGTRIOkUOHGh3JEREREREFKSYtKVl1y5g1iygWzegYEG7oyEiIiIioiDFpC0tAwYA\nd98N9O9vdyRERERERBTEmLSl5o8/gCVLgF69gPvvtzsaIiIiIiIKYkzabqe1jK7lzQv07Gl3NERE\nREREFOQy2R2Az1mzBli3Dhg7FsiZ0+5oiIiIiIgoyHGkLSXnKFvhwkDnznZHQ0RERERExJG2Wyxc\nCGzbBkyfDmTNanc0REREREREHGm7xeXLQJUqQJs2dkdCREREREQEgEnbrTp0ADZtAkJD7Y6EiIiI\niIgIAJO2OylldwRERERERET/x6SNiIiIiIjIhzFpIyIiIiIi8mEuJW1KqXpKqX1KqYNKqX6p/L6V\nUupvpdQ/SqlNSqlyxodKREREREQUfDJM2pRSoQDGAagPoBSAlkqpUrfd7TCA6lrrJwAMATDJ6ECJ\niIiIiIiCkSsjbZUBHNRaH9JaxwGYD+DFlHfQWm/SWl9K+nEzgILGhklERERERBScXEnaCgA4nuLn\nf5NuS0t7AD+m9gulVEelVKRSKvLcuXOuR0lERERERBSkDG1EopSqCUna+qb2e631JK1DZfJ9AAAE\n9klEQVR1mNY6LG/evEbumoiIiIiIKCBlcuE+JwAUSvFzwaTbbqGUKgtgCoD6WusLxoRHREREREQU\n3FwZadsKoIRS6mGlVBYArwJYlvIOSqnCABYBaKO13m98mERERERERMEpw5E2rXWCUqo7gJUAQgFM\n01rvUkp1Tvr9RAAfAcgDYLxSCgAStNZh5oVNREREREQUHJTW2pYdh4WF6cjISFv2TUREREREZDel\n1DZXBrsMbURCRERERERExmLSRkRERERE5MOYtBEREREREfkwJm1EREREREQ+jEkbERERERGRD2PS\nRkRERERE5MNsa/mvlDoH4KgtO0/f/QDO2x0EBQ0eb2QVHmtkFR5rZBUea2Qls463IlrrvBndybak\nzVcppSK5MDhZhccbWYXHGlmFxxpZhccaWcnu443lkURERERERD6MSRsREREREZEPY9J2p0l2B0BB\nhccbWYXHGlmFxxpZhccaWcnW441z2oiIiIiIiHwYR9qIiIiIiIh8GJM2IiIiIiIiH8akLQWlVD2l\n1D6l1EGlVD+746HAoZSappQ6q5TameK23Eqp1UqpA0nfc9kZIwUGpVQhpdQ6pdRupdQupdS7Sbfz\neCNDKaWyKaW2KKX+SjrWBifdzmONTKGUClVK/amU+iHpZx5rZAql1BGl1D9KqR1Kqcik22w93pi0\nJVFKhQIYB6A+gFIAWiqlStkbFQWQGQDq3XZbPwBrtdYlAKxN+pnIWwkA3tNalwJQBUC3pPcyHm9k\ntJsAammtywEoD6CeUqoKeKyRed4FsCfFzzzWyEw1tdblU6zNZuvxxqQtWWUAB7XWh7TWcQDmA3jR\n5pgoQGitfwVw8babXwQQkfTvCAAvWRoUBSSt9Smt9fakf0dDTnAKgMcbGUyLa0k/Zk760uCxRiZQ\nShUE0BDAlBQ381gjK9l6vDFpS1YAwPEUP/+bdBuRWR7QWp9K+vdpAA/YGQwFHqVUUQAVAPwBHm9k\ngqRytR0AzgJYrbXmsUZmGQugDwBHitt4rJFZNIA1SqltSqmOSbfZerxlsnJnRJQ6rbVWSnH9DTKM\nUioHgIUAemitryql/v87Hm9kFK11IoDySqn7ACxWSpW57fc81shrSqkXAJzVWm9TStVI7T481shg\nz2qtTyil8gFYrZTam/KXdhxvHGlLdgJAoRQ/F0y6jcgsZ5RS+QEg6ftZm+OhAKGUygxJ2OZorRcl\n3czjjUyjtb4MYB1k7i6PNTJaVQCNlVJHINNXaimlZoPHGplEa30i6ftZAIsh06hsPd6YtCXbCqCE\nUuphpVQWAK8CWGZzTBTYlgF4PenfrwNYamMsFCCUDKlNBbBHaz06xa94vJGhlFJ5k0bYoJS6C0Ad\nAHvBY40MprXur7UuqLUuCjk/+1lr3Ro81sgESqm7lVI5nf8GUBfATth8vCmtOZLspJRqAKmZDgUw\nTWs9zOaQKEAopeYBqAHgfgBnAAwEsATAtwAKAzgKoLnW+vZmJURuUUo9C2ADgH+QPPfjfci8Nh5v\nZBilVFnIZPxQyEXgb7XWHyul8oDHGpkkqTyyl9b6BR5rZAalVDHI6BogU8nmaq2H2X28MWkjIiIi\nIiLyYSyPJCIiIiIi8mFM2oiIiIiIiHwYkzYiIiIiIiIfxqSNiIiIiIjIhzFpIyIiIiIi8mFM2oiI\niIiIiHwYkzYiIiIiIiIf9j94Z3KkoeNUJQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x17800b51048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (15,8))\n",
    "plt.plot(list_acc,'r',label = 'acc')\n",
    "plt.plot(list_loss,'b',label = 'loss')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "position": {
    "height": "144px",
    "left": "1167px",
    "right": "20px",
    "top": "120px",
    "width": "350px"
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
